Skip to content

Conversation

@Zgoda91
Copy link

@Zgoda91 Zgoda91 commented Sep 24, 2025

implementing gRFC A65 grpc/proposal/pull/423

This change contains:

  1. Relocation of XxHash64 library, so it can be shared between util and xds projects. Proposed source directory is: third-party/zero-allocation-hashing. Usage of murmur3_128 hashing algorithm from Guava library.
  2. Implementation of RandomSubsettingLoadBalancer and RandomSubsettingLoadBalancerProvider classes and integration into the util project.
  3. Implementation of xDS conversion function for random_subsetting LB policy and as well new envoy proto message. Since envoy extensions does not support random_subsetting LB policy yet, xDS related changes will be introduced later. Envoy PR here.

@Zgoda91 Zgoda91 force-pushed the A68_random_subsetting branch from 9178308 to aefee00 Compare September 24, 2025 12:26
@Zgoda91 Zgoda91 force-pushed the A68_random_subsetting branch from aefee00 to 1870e6f Compare September 24, 2025 13:57
@Zgoda91
Copy link
Author

Zgoda91 commented Oct 6, 2025

@ejona86 - PR updated

@ejona86
Copy link
Member

ejona86 commented Oct 6, 2025

CC @s-matyukevich, @joybestourous

Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sending what I have. I expect I'll have a few more comments, but I suspect nothing that impacts the changes for these comments.

@Zgoda91
Copy link
Author

Zgoda91 commented Oct 7, 2025

@ejona86 - PR updated.

Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to stare at BackendDetails a bit to see what's going on there with the Answer, but sending what I have.

@Zgoda91
Copy link
Author

Zgoda91 commented Oct 8, 2025

@ejona86 - pushed changes. However, I do have two questions, which I have posted as answers to your comments.

@Zgoda91 Zgoda91 changed the title A68 random subsetting A68 random subsetting (part 1) Oct 29, 2025
Copy link
Member

@ejona86 ejona86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me. I just need to figure out that one string, of whether it will be marked experimental initially.


@Internal
public final class RandomSubsettingLoadBalancerProvider extends LoadBalancerProvider {
private static final String POLICY_NAME = "random_subsetting";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to ask around to remember if we decided it should initially be _experimental until a user says it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants